package com.itheima.d2_file;

import java.io.File;
import java.io.IOException;

//目标：掌握文件创建和删除功能的使用
public class Demo3 {
    public static void main(String[] args) throws IOException {
        /**
         * 创建文件功能：
         *      boolean mkdir()：只能创建一级文件夹
         *      boolean mkdirs()：可以创建多级文件夹
         *      boolean createNewFile()：创建一个新的空的文件
         *
         * 删除文件功能：
         *      boolean delete()：删除由此抽象路径名表示的文件或空文件夹
         *
         * 注意：delete方法默认只能删除文件和空文件夹，delete方法直接删除不走回收站，所以操作文件，不要操作C盘，避免误删
         */
        //1.在非系统盘的盘符下创建一个文件夹test
        File testFile = new File("E:\\ideaProject\\basic-code\\day11\\test");
        boolean r1 = testFile.mkdir();
        System.out.println("test文件夹是否创建成功：" + r1);

        //2.在test文件夹下创建a文件夹和b文件夹，并且b在a的里面。此时b没有，a也没有
        File bFile = new File(testFile, "a\\b");
        //尝试用mkdir方法创建
        //boolean r2 = bFile.mkdir();
        //创建失败，mkdir方法只能创建一级文件夹
        //System.out.println("b文件夹是否创建成功：" + r2);
        //尝试用mkdirs方法创建多级文件夹
        boolean r2 = bFile.mkdirs();
        System.out.println("b文件夹是否创建成功：" + r2);
//
        //3.在test文件夹下创建c文件夹，此时只有c没有
        File cFile = new File(testFile, "c");
        boolean r3 = cFile.mkdirs();
        //说明mkdirs方法既可以创建一级，也可以创建多级。以后用mkdirs创建文件夹
        System.out.println("c文件夹是否创建成功：" + r3);
//
        //4.在test下面创建文件f1.txt
        File f1File = new File(testFile, "f1.txt");
        boolean r4 = f1File.createNewFile();
        System.out.println("f1.txt文件是否创建成功：" + r4);
//
//        5.在test下的d文件夹下创建文件f2.txt，此时d文件夹不存在！
//        try {
//            File f2File = new File(testFile, "d\\f2.txt");
//            boolean r5 = f2File.createNewFile();
//            System.out.println("f2.txt文件是否创建成功：" + r5);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }

//        6.尝试删除b文件夹和c文件夹，其中b文件夹保持是空的，c文件夹中放入一个文件
        boolean r6 = bFile.delete();
        System.out.println("b文件夹是否删除成功：" + r6);

        boolean r7 = cFile.delete();
        System.out.println("c文件夹是否删除成功：" + r7);
//
        //7.删除f1.txt文件
        boolean r8 = f1File.delete();
        System.out.println("f1.txt文件是否删除成功：" + r8);
    }
}
